package sistema.web.servlet.diacampo;

import java.io.IOException;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import sistema.web.bussiness.IClubBussiness;
import sistema.web.bussiness.IJuegoBussiness;
import sistema.web.bussiness.IServicioBussiness;
import sistema.web.bussiness.impls.ClubBussiness;
import sistema.web.bussiness.impls.JuegoBussiness;
import sistema.web.bussiness.impls.ServicioBussiness;
import sistema.web.dtos.ClubDTO;
import sistema.web.dtos.JuegoDTO;
import sistema.web.dtos.ServicioDTO;

/**
 * Servlet implementation class DiaCampoModificar_Servlet
 */
@WebServlet("/DiaCampoModificar_Servlet")
public class DiaCampoModificar_Servlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public DiaCampoModificar_Servlet() {
        super();
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String codigo = request.getParameter("codigo");
		String opcion = request.getParameter("opcion");
		
		HttpSession session = request.getSession(false);
		
		switch(opcion) {
			case "1": // SERVICIO
				List<ServicioDTO> listServicio = (List<ServicioDTO>) session.getAttribute("diaCampoServicio");
				for(int index = 0; index < listServicio.size(); index++) {
					ServicioDTO dtoServicio = listServicio.get(index);
					if(dtoServicio.getIdServicio() == Integer.parseInt(codigo)) {
						listServicio.remove(index);						
						
						request.setAttribute("codServicio", codigo);
												
						request.setAttribute("servServicio", codigo);
						request.setAttribute("servNroPersona", dtoServicio.getNroPersona());
						request.setAttribute("servDescripcion", dtoServicio.getDescripcion());
					}
				}
				break;
			default: // JUEGO
				List<JuegoDTO> listJuego = (List<JuegoDTO>) session.getAttribute("diaCampoJuego");
				for(int index = 0; index < listJuego.size(); index++) {
					JuegoDTO dtoJuego = listJuego.get(index);
					if(dtoJuego.getIdJuego() == Integer.parseInt(codigo)) {
						listJuego.remove(index);						
						
						request.setAttribute("codServicio", codigo);
												
						request.setAttribute("juegoJuego", codigo);
						request.setAttribute("juegoNroPersona", dtoJuego.getNroPersona());
						request.setAttribute("juegoDescripcion", dtoJuego.getDescripcion());
					}
				}
		}

		/* -- Carga los Juegos -- */
		IJuegoBussiness busJuego = new JuegoBussiness();
		List<JuegoDTO> listJuego = busJuego.obtenerJuego();
		request.setAttribute("listJuego", listJuego);
		
		/* -- Carga los Servicios -- */		
		IServicioBussiness busServicio = new ServicioBussiness();
		List<ServicioDTO> listServicio = busServicio.obtenerServicio();
		request.setAttribute("listServicio", listServicio);
		
		/* -- Carga los Club -- */
		IClubBussiness busClub = new ClubBussiness();
		List<ClubDTO> listClub = busClub.obtenerClub();
		request.setAttribute("listClub", listClub);
		
		RequestDispatcher rd = request.getRequestDispatcher("/regi_dia_campo.jsp");
        rd.forward(request, response);
	}
}